/*
 * Powered By [Seven]
 * Since 2016 - 2019
 */


package com.czmh.etc.onlinepubsys.model;
import lombok.AllArgsConstructor;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
/**
 * 
 * @描述：
 * @author： Seven.
 * @版本：V1.0
 */
@AllArgsConstructor
public class EtcObu extends BaseModel {
	
	//alias
	public static final String TABLE_ALIAS = "EtcObu";
	public static final String ALIAS_ID = "主键ID";
	public static final String ALIAS_OBUID = "合同序列号（即OBU卡号）";
	public static final String ALIAS_OBUCOST = "OBU成本金额";
	public static final String ALIAS_OBUBRAND = "OBU设备品牌";
	public static final String ALIAS_OBUMODEL = "OBU设备型号";
	public static final String ALIAS_REGISTEREDTYPE = "OBU注册方式：1-线上2-线下";
	public static final String ALIAS_CAR_ID = "车辆id";
	public static final String ALIAS_APPLY_ID = "申请id";
	public static final String ALIAS_USER_TYPE = "用户类型：0个人用户，1单位用户";
	public static final String ALIAS_ACTIVATE_STATUS = "OBU激活状态：0未激活，1已激活";
	public static final String ALIAS_USE_TIME = "写入OBU的启用时间";
	public static final String ALIAS_EXPIRE_TIME = "写入OBU的到期时间";
	public static final String ALIAS_PROVINCE = "省";
	public static final String ALIAS_CITY = "市";
	public static final String ALIAS_AREA = "区";
	public static final String ALIAS_ACTIVATE_ADDR = "激活位置的详细地址信息";
	public static final String ALIAS_CREATE_TIME = "创建时间";
	public static final String ALIAS_ACTIVATE_TIME = "激活时间";
	 
	//可以直接使用: @Length(max=50,message="用户名长度不能大于50")显示错误消息
	//columns START
	private String id;
	private String obuid;
	private Integer obucost;
	private String obubrand;
	private String obumodel;
	private Integer registeredtype;
	private String car_id;
	private String apply_id;
	private Integer user_type;
	private Integer activate_status;
	private String use_time;
	private String expire_time;
	private String province;
	private String city;
	private String area;
	private String activate_addr;
	private java.util.Date create_time;
	private java.util.Date activate_time;
	//columns END

	public EtcObu(){
	}

	public EtcObu(
		String id
	){
		this.id = id;
	}

	/**  
	 * 设置主键ID  
	 * @param id 主键ID  
	 */  
	public void setId(String id) {
		this.id = id;
	}
	
	/**  
	 * 获取主键ID   
	 * @return id 主键ID   
	 */
	public String getId() {
		return this.id;
	}
	/**  
	 * 设置合同序列号（即OBU卡号）  
	 * @param obuid 合同序列号（即OBU卡号）  
	 */  
	public void setObuid(String obuid) {
		this.obuid = obuid;
	}
	
	/**  
	 * 获取合同序列号（即OBU卡号）   
	 * @return obuid 合同序列号（即OBU卡号）   
	 */
	public String getObuid() {
		return this.obuid;
	}
	/**  
	 * 设置OBU成本金额  
	 * @param obucost OBU成本金额  
	 */  
	public void setObucost(Integer obucost) {
		this.obucost = obucost;
	}
	
	/**  
	 * 获取OBU成本金额   
	 * @return obucost OBU成本金额   
	 */
	public Integer getObucost() {
		return this.obucost;
	}
	/**  
	 * 设置OBU设备品牌  
	 * @param obubrand OBU设备品牌  
	 */  
	public void setObubrand(String obubrand) {
		this.obubrand = obubrand;
	}
	
	/**  
	 * 获取OBU设备品牌   
	 * @return obubrand OBU设备品牌   
	 */
	public String getObubrand() {
		return this.obubrand;
	}
	/**  
	 * 设置OBU设备型号  
	 * @param obumodel OBU设备型号  
	 */  
	public void setObumodel(String obumodel) {
		this.obumodel = obumodel;
	}
	
	/**  
	 * 获取OBU设备型号   
	 * @return obumodel OBU设备型号   
	 */
	public String getObumodel() {
		return this.obumodel;
	}
	/**  
	 * 设置OBU注册方式：1-线上2-线下  
	 * @param registeredtype OBU注册方式：1-线上2-线下  
	 */  
	public void setRegisteredtype(Integer registeredtype) {
		this.registeredtype = registeredtype;
	}
	
	/**  
	 * 获取OBU注册方式：1-线上2-线下   
	 * @return registeredtype OBU注册方式：1-线上2-线下   
	 */
	public Integer getRegisteredtype() {
		return this.registeredtype;
	}
	/**  
	 * 设置车辆id  
	 * @param car_id 车辆id  
	 */  
	public void setCar_id(String car_id) {
		this.car_id = car_id;
	}
	
	/**  
	 * 获取车辆id   
	 * @return car_id 车辆id   
	 */
	public String getCar_id() {
		return this.car_id;
	}
	/**  
	 * 设置申请id  
	 * @param apply_id 申请id  
	 */  
	public void setApply_id(String apply_id) {
		this.apply_id = apply_id;
	}
	
	/**  
	 * 获取申请id   
	 * @return apply_id 申请id   
	 */
	public String getApply_id() {
		return this.apply_id;
	}
	/**  
	 * 设置用户类型：0个人用户，1单位用户  
	 * @param user_type 用户类型：0个人用户，1单位用户  
	 */  
	public void setUser_type(Integer user_type) {
		this.user_type = user_type;
	}
	
	/**  
	 * 获取用户类型：0个人用户，1单位用户   
	 * @return user_type 用户类型：0个人用户，1单位用户   
	 */
	public Integer getUser_type() {
		return this.user_type;
	}
	/**  
	 * 设置OBU激活状态：0未激活，1已激活  
	 * @param activate_status OBU激活状态：0未激活，1已激活  
	 */  
	public void setActivate_status(Integer activate_status) {
		this.activate_status = activate_status;
	}
	
	/**  
	 * 获取OBU激活状态：0未激活，1已激活   
	 * @return activate_status OBU激活状态：0未激活，1已激活   
	 */
	public Integer getActivate_status() {
		return this.activate_status;
	}
	/**  
	 * 设置写入OBU的启用时间  
	 * @param use_time 写入OBU的启用时间  
	 */  
	public void setUse_time(String use_time) {
		this.use_time = use_time;
	}
	
	/**  
	 * 获取写入OBU的启用时间   
	 * @return use_time 写入OBU的启用时间   
	 */
	public String getUse_time() {
		return this.use_time;
	}
	/**  
	 * 设置写入OBU的到期时间  
	 * @param expire_time 写入OBU的到期时间  
	 */  
	public void setExpire_time(String expire_time) {
		this.expire_time = expire_time;
	}
	
	/**  
	 * 获取写入OBU的到期时间   
	 * @return expire_time 写入OBU的到期时间   
	 */
	public String getExpire_time() {
		return this.expire_time;
	}
	/**  
	 * 设置省  
	 * @param province 省  
	 */  
	public void setProvince(String province) {
		this.province = province;
	}
	
	/**  
	 * 获取省   
	 * @return province 省   
	 */
	public String getProvince() {
		return this.province;
	}
	/**  
	 * 设置市  
	 * @param city 市  
	 */  
	public void setCity(String city) {
		this.city = city;
	}
	
	/**  
	 * 获取市   
	 * @return city 市   
	 */
	public String getCity() {
		return this.city;
	}
	/**  
	 * 设置区  
	 * @param area 区  
	 */  
	public void setArea(String area) {
		this.area = area;
	}
	
	/**  
	 * 获取区   
	 * @return area 区   
	 */
	public String getArea() {
		return this.area;
	}
	/**  
	 * 设置激活位置的详细地址信息  
	 * @param activate_addr 激活位置的详细地址信息  
	 */  
	public void setActivate_addr(String activate_addr) {
		this.activate_addr = activate_addr;
	}
	
	/**  
	 * 获取激活位置的详细地址信息   
	 * @return activate_addr 激活位置的详细地址信息   
	 */
	public String getActivate_addr() {
		return this.activate_addr;
	}
	/**  
	 * 设置创建时间  
	 * @param create_time 创建时间  
	 */  
	public void setCreate_time(java.util.Date create_time) {
		this.create_time = create_time;
	}
	
	/**  
	 * 获取创建时间   
	 * @return create_time 创建时间   
	 */
	public java.util.Date getCreate_time() {
		return this.create_time;
	}
	/**  
	 * 设置激活时间  
	 * @param activate_time 激活时间  
	 */  
	public void setActivate_time(java.util.Date activate_time) {
		this.activate_time = activate_time;
	}
	
	/**  
	 * 获取激活时间   
	 * @return activate_time 激活时间   
	 */
	public java.util.Date getActivate_time() {
		return this.activate_time;
	}
	
	private EtcCar etcCar;
	
	public void setEtcCar(EtcCar etcCar){
		this.etcCar = etcCar;
	}
	
	public EtcCar getEtcCar() {
		return etcCar;
	}

	@Override
    public String toString() {
		return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
			.append("id",getId())
			.append("obuid",getObuid())
			.append("obucost",getObucost())
			.append("obubrand",getObubrand())
			.append("obumodel",getObumodel())
			.append("registeredtype",getRegisteredtype())
			.append("car_id",getCar_id())
			.append("apply_id",getApply_id())
			.append("user_type",getUser_type())
			.append("activate_status",getActivate_status())
			.append("use_time",getUse_time())
			.append("expire_time",getExpire_time())
			.append("province",getProvince())
			.append("city",getCity())
			.append("area",getArea())
			.append("activate_addr",getActivate_addr())
			.append("create_time",getCreate_time())
			.append("activate_time",getActivate_time())
			.toString();
	}
	
	@Override
    public int hashCode() {
		return new HashCodeBuilder()
			.append(getId())
			.toHashCode();
	}
	
	@Override
    public boolean equals(Object obj) {
		if(obj instanceof EtcObu == false) {
			return false;
		}
		if(this == obj) {
			return true;
		}
		EtcObu other = (EtcObu)obj;
		return new EqualsBuilder()
			.append(getId(),other.getId())
			.isEquals();
	}
}

